С момента предыдущего обновления WebHomePiпрошло уже более трех месяцев. За это время система претерпела довольно значительные изменения. Итак, давайте рассмотрим, что же изменилось по сравнению с прежней версией WebHomePi:
главная страница интерфейса представляет собой планировку дома или квартиры, на которой в произвольном порядке можно разместить и зафиксировать объекты мониторинга (датчики и дискретные входы GPIO) и управления (выходы GPIO). Имеется возможность загрузки пользователем собственных шаблонов планировок (до 5 вариантов);
объединены в один интерфейс страницы датчиков, входов/выходов GPIOи графиков.
для хранения показаний датчиков, журналов событий и т.д., в систему интегрирована база данных SOLite;
добавлен инструмент для удобного масштабирования графиков;
интегрирована поддержка протокола MQTT;
измены алгоритмы работы макросов Pythonс датчиками;
изменена форма визуализации датчиков;
с целью оптимизации программного кода htmlстраниц, JS-скрипты и стили css вынесены в отдельные папки.
Изменения также затронули и распределенный сегмент системы, т.е. устройств, подключаемых к центральному модулю по интерфейсу RS485. В частности, реализована поддержка последней версии радиомодуля и добавлена возможность считывания показаний с однофазных счетчиков электроэнергии типа SDM220(230).
Внимание!Учитывая, что в программное обеспечение WebHomePi были внесены довольно существенные изменения и дополнения, данная версия является beta-версией и предназначена в первую очередь для тестирования пользователями.
Интерфейс управления состоит из десяти html-страниц (рис.1). По умолчанию в меню активированы 4 страницы – главная, GPIO/датчики/графики, журнал событий и конфигурирование системы. Включить или выключить в меню определенные страницы интерфейса можно через страницу конфигурирования.
Рис.1
Index.html. Данная страница интерфейса выводится первой после входа в систему по логину и паролю. Условно она представляет собой «холст», на котором пользователь размещает планировку квартиры или дома вместе с элементами управления и мониторинга. По умолчанию все датчики (за исключением показаний температуры и загрузки CPURaspberryPi), а также все входы и выходы GPIOдеактивированы, и, следовательно, не выводятся в интерфейс. Активировать нужные датчики, входы и выводы GPIOможно на странице конфигурирования системы. Настоятельно рекомендуется не активировать датчики, которые физически не подключены к портам RaspberryPi, т.к. это может привести к некорректной работе системы. После активации выбранные датчики, входы и выходы GPIO появятся на главной странице (index.html) и их можно разместить в любом месте планировки дома, перетаскивая объекты «мышкой». Функция перетаскивания объектов (Drag&Drop) доступна не только при работе с «мышкой», но также при работе с устройствами, имеющими сенсорное управление (смартфон, планшет).
Начальная расстановка всех входов и входов, выходов и датчиков приведена на рис.2
Рис.2
Выбор планировки производится кнопкой «Select». Всего доступно выбрать пять типов планировок. Разумеется, вероятность того, что имеющиеся в базе системы планировки кому-то подойдут, крайне мала, даже если их будет и сотня. Поэтому, для создания собственных планировок, пользователю необходимо их нарисовать в любом графическом редакторе и загрузить в папку /home/pi/myproject/html/image/plans. Можно заменить все пять имеющихся планировок на пользовательские. Изображения планировок должны иметь разрешение 800х460.
После выбора планировки и расстановки на ней объектов мониторинга и управления, необходимо записать (сохранить) полученную расстановку кнопкой «Write». Помните, что каждый раз перед записью необходимо изменить положение хотя бы одного объекта. Если этого не сделать, то после записи все объекты будут сгруппированы по абсолютному позиционированию на нулевые координаты (верхний левый угол страницы).
sensors.html. На этой странице сгруппированы активированные входы и выходы GPIO, датчики и их графики (рис.3)
Рис.3
Также на данной странице отображаются режимы работы входов и выходов (режим термостата, таймера и т.д. ). Разумеется, доступны функции управления выходами и контроль входов.
counter.html. Страница позволяет контролировать через интерфейс RS485 показания электросчетчика SDM230. В web-интерфейс выводятся параметры напряжения, тока, частоты, полная и активная мощности, а так же расход электроэнергии в кВт*ч с построением графика потребления (рис.4)
Рис.4
radio.html. Интефейс работы с радиомодулем версии 2.0 (разработка Alex_AW), описание радиомодуля
meteo.html. Интерфейс показаний контроллера температуры и влажности, описание контроллера
relay_1.html. Интерфейс контроля и управления релейного модуля разработки Alex_AW, описание релейного модуля
mqtt.html.Web-интерфейс для работы с контроллером по протоколу MQTT (рис.5). Это пока тестовая версия контроллера, которая позволяет управлять одним выходом и контролировать температуру и влажность с помощью датчика DHT22. Более подробное описание контроллера смотрите по этой ссылке.
Рис.5
logs.html – журнал событий системы.
сonfig.html – конфигурация системы. В дополнение к предыдущей версии добавлена возможность визуализации входов и выходов GPIO.
Для большей наглядности возможностей работы с интерфейсом новой версии WebHomePi, предлагаю вам посмотреть небольшой видеоролик: